---
title: Plane
---

import { Callout } from 'nextra/components'
import Logo from '../components/logo'

<div style={{height: 60}}>
    <Logo />
</div>

<div style={{marginTop: 20}}>
    <a href="https://github.com/jamsocket/plane"><img src="https://img.shields.io/github/stars/jamsocket/plane?style=social" alt="Plane GitHub Repo" /></a>
</div>

Plane is a distributed system for **running stateful WebSocket backends at scale**. Plane is heavily inspired by [Figma’s multiplayer infrastructure](https://www.figma.com/blog/rust-in-production-at-figma/), which dynamically spawns a process for each active document.

Use cases include:
- Scaling up [authoritative multiplayer backends](https://jamsocket.com/blog/you-might-not-need-a-crdt).
- Running isolated code environments (like REPLs, code notebooks, and LLM agent sandboxes).
- Data-intensive applications that need a dedicated high-RAM process for each active user session.

## Architecture Overview

See the [architecture guide](concepts/architecture.mdx) for a detailed explanation of each component.

<img src="/arch-diagram.svg" style={{marginTop: 30}} />

## Getting Started

- Jump in with the [quickstart guide](/quickstart-guide.mdx).
- Familiarize yourself with the [concepts](/concepts/session-backends.mdx) and architecture used in Plane.
